package org.jetbrains.debugger;

import com.intellij.openapi.util.ActionCallback;
import com.intellij.openapi.util.AsyncResult;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public abstract interface SuspendContextManager<CALL_FRAME extends CallFrame>
{
  @NotNull
  public abstract ActionCallback suspend();
  
  @Nullable
  public abstract SuspendContext getContext();
  
  @NotNull
  public abstract SuspendContext getContextOrFail();
  
  public abstract boolean isContextObsolete(@NotNull SuspendContext paramSuspendContext);
  
  public abstract void setOverlayMessage(@Nullable String paramString);
  
  public abstract ActionCallback continueVm(@NotNull StepAction paramStepAction, int paramInt);
  
  public abstract boolean isRestartFrameSupported();
  
  @NotNull
  public abstract AsyncResult<Boolean> restartFrame(@NotNull CALL_FRAME paramCALL_FRAME);
  
  public abstract boolean canRestartFrame(@NotNull CallFrame paramCallFrame);
}


/* Location:           E:\idea\
 * Qualified Name:     org.jetbrains.debugger.SuspendContextManager
 * JD-Core Version:    0.7.0.1
 */